Make expanders prelight
authorMatthias Clasen <mclasen@redhat.com>
Mon, 22 Nov 2010 23:56:10 +0000 (18:56 -0500)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:39:33 +0000 (15:39 +0100)
gtk/gtkcssprovider.c
gtk/gtkstyle.c
gtk/gtkthemingengine.c

index f9df1f519108fb9280114cb1527a61f716ec7185..02dffb00b31c4ce44d2d2ca59c0977ab2bea82a2 100644 (file)
@@ -3436,6 +3436,10 @@ gtk_css_provider_get_default (void)
         "  color: @selected_fg_color;\n"
         "}\n"
         "\n"
+        ".expander:prelight {\n"
+        "  color: @selected_fg_color\n"
+        "}\n"
+        "\n"
         "*:insensitive {\n"
         "  background-color: shade (@bg_color, 0.9);\n"
         "  color: shade (@bg_color, 0.7);\n"
index 1da8821a4f350e0e0cc4c41f0b8eb1b8f37b4e65..6fddf0c235ec7f7db991f38cb6863c7f98f1e3b2 100644 (file)
@@ -3215,6 +3215,8 @@ gtk_default_draw_expander (GtkStyle        *style,
   if (detail)
     transform_detail_string (detail, context);
 
+  gtk_style_context_add_class (context, "expander");
+
   switch (state_type)
     {
     case GTK_STATE_PRELIGHT:
index da50cd583f509f095bf111657c51872a2d8b54a1..f7961bc1a4be112bc0524ebb10d96440b5943a84 100644 (file)
@@ -1748,7 +1748,7 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine,
                                     gdouble           height)
 {
   GtkStateFlags flags;
-  GdkRGBA *bg_color, *fg_color;
+  GdkRGBA *outline_color, *fg_color;
   double vertical_overshoot;
   int diameter;
   double radius;
@@ -1764,7 +1764,9 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine,
 
   gtk_theming_engine_get (engine, flags,
                           "color", &fg_color,
-                          "background-color", &bg_color,
+                          NULL);
+  gtk_theming_engine_get (engine, 0,
+                          "color", &outline_color,
                           NULL);
 
   line_width = 1;
@@ -1834,13 +1836,13 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine,
 
   cairo_fill_preserve (cr);
 
-  gdk_cairo_set_source_rgba (cr, fg_color);
+  gdk_cairo_set_source_rgba (cr, outline_color);
   cairo_stroke (cr);
 
   cairo_restore (cr);
 
   gdk_rgba_free (fg_color);
-  gdk_rgba_free (bg_color);
+  gdk_rgba_free (outline_color);
 }
 
 static void